Github|如何用TensorFlow实现DenseNet和DenseNet-BC(附源代码)
文章来源:GitHub 翻译:张妮娜
用TensorFlow实现DenseNet
有两种类型的密集连接式卷积神经网络(DenseNets)可用:
DenseNet - 无瓶颈层
DenseNet-BC - 有瓶颈层
每个模型可以在以下数据集上测试:
Cifar10
Cifar10 +(数据增强)
Cifar100
Cifar100 +(数据增强)
SVHN
可通过壳或源代码内部来改变多个层、块、增长率、图像归一化和其他训练参数。
运行示例:
列出所有可用选项:
还有其他一些可以实现方法——也可能是很有用的方法。
引用:
测试运行
对于模型验证,我初步采用不同的图像归一化方法进行各种测试运行。起初在做归一化时,我们将整个图像的参数除以256,这比通道归一化会好一些。 但过后,每个通道的归一化是固定的,执行状态看似近乎相同,或者比归一化分割更好。
近似GeForce GTX TITAN X GM200(12 GB内存)模型的训练时间:
DenseNet(k = 12, d = 40) - 17 hrs
DenseNet-BC(k= 12, d = 100) - 1 day 18 hrs
与原始实现方法的不同之处
现有模型应当使用与原始代码相同的超参数。如果您发现出一些错误,请提出问题。
相关信息
模型使用Python 3.4.3+,以及带有或不带有CUDA的Python 3.5.2进行测试。
模型应当按预期的TensorFlow> = 0.10运行。包括最近对Tensorflow 1.0的支持。
需求文件支持Repo ,故最简单的安装方法就是运行pip install -r requirements.txt。
GitHub资源(可点击原文链接跳转):https://github.com/ikhlestov/vision_networks